/**
 * 接口类型，有时候，跟对象类型很相似，它都可以用于约束对象
 * 接口名字首字母大写（在ts中除了 基本类型是小写外，其它统统首字母大写 ）
 */
interface User {
  avatar: string
  userid: string
  nickname: string
  qq?: number
}

const user: User = {
  userid: '10001',
  nickname: 'ㄣ爱上你纯属意外',
  avatar:
    'https://img0.baidu.com/it/u=3014479464,439703123&fm=253&fmt=auto&app=138&f=JPEG?w=350&h=350',
  qq: 100000
}

interface Point2D {
  x: number
  y: number
}

/*
interface Point3D {
  x: number
  y: number
  z: number
}
*/

/**
 * 接口可以继承，继承就是把别人的拿过来
 * 继承体现了复用的思想
 */
interface Point3D extends Point2D {
  z: number
}

const point: Point3D = {
  x: 100,
  y: 100,
  z: 100
}

export {}
